The development of globalized software requires that software written for users in a particular locale be adapted for use by other users in different locales. This area of software development is known as internationalization, or “I18N”. The inverse of the internationalization process is localization, or “L10N”, where software is adapted to specific languages and may incorporate regional differences, e.g., American English versus U.K. English, as well as technical requirements belonging to the target locale. Internationalization of software includes addressing generic coding and design issues that would otherwise hamper the localizability of a particular piece or set of software and implementing features and code design that is not based on a single language or locale.
The software may instead implement a universal encoding scheme, e.g., Unicode, that can accommodate character sets encompassing all of the languages and scripts in the world. That is, truly internationalized source code is source code which allows for the creation of applications that can operate in more than one language or locale at a time without significant modification or additional effort. Further, the character/text data being processed in the source code and the applications should be in a neutral encoding format regardless of the language or locale environment in which the software was developed or in which it is to be deployed.